export default {
  title: 'Device Profile',
  table: {
    name: 'Name',
    type: 'Type',
    transportType: 'Transport Type',
    description: 'Description',
    default: 'Default',
    createdTime: 'Created Time',
  },
  steps: {
    detail: 'Profile Detail',
    transport: 'Transport',
    alarm: 'Alarm Rules',
    provision: 'Provision',
  },
  form: {
    name: 'Device Profile Name',
    namePlaceholder: 'Please enter device profile name',
    defaultRuleChain: 'Default Rule Chain',
    defaultRuleChainPlaceholder: 'Select default rule chain',
    mobileDashboard: 'Mobile Dashboard',
    mobileDashboardPlaceholder: 'Select mobile dashboard',
    queue: 'Queue',
    queuePlaceholder: 'Select queue',
    edgeRuleChain: 'Edge Rule Chain',
    edgeRuleChainPlaceholder: 'Select edge rule chain',
    description: 'Description',
    transportType: 'Transport Type',
    transportTypePlaceholder: 'Select transport type',
  },
  action: {
    add: 'Add Device Profile',
    edit: 'Edit Device Profile',
    setDefault: 'Set Default Device Profile',
    delete: 'Delete Device Profile',
    copyId: 'Copy Device Profile ID',
    copyIdSuccess: 'Copy device profile ID success!',
    addSuccess: 'Add device profile success!',
    editSuccess: 'Edit device profile success!',
    deleteSuccess: 'Delete device profile success!',
    setDefaultSuccess: 'Set default device profile success!',
  },
  confirm: {
    deleteTitle: 'Confirm delete device profile [{name}]?',
    deleteContent: 'Please note: after confirmation the device profile and related data will be unrecoverable.',
    setDefaultTitle: 'Confirm set device profile [{name}] as default?',
    setDefaultContent:
      'After confirmation this profile will be marked as default for new devices without explicit profile.',
  },
  detail: {
    detail: 'Device Profile Detail',
    defaultTag: 'Default',
    transport: 'Transport',
    provision: 'Provision',
    alarm: 'Alarm Rules',
    calculated: 'Calculated',
    image: 'Image',
  },
  provision: {
    strategy: 'Provision Strategy',
    deviceKeyName: 'Provision Device Key Name',
    deviceKey: 'Provision Device Key',
    deviceKeyNamePlaceholder: 'Enter provision device key name',
    deviceKeyPlaceholder: 'Enter provision device key',
    createNewDevices: 'Create New Devices',
    createNewDevicesHelp: 'If checked, a new device will be created using client certificate as device credentials.',
    pem: 'PEM Certificate',
    pemPlaceholder: 'Enter PEM certificate',
    cnRegex: 'CN Regular Expression variable',
    cnRegexSubLabel: "Required to fetch device name from device's X509 certificate common name",
    copyDeviceKeyNameSuccess: 'Copy provision device key name success!',
    copyDeviceKeySuccess: 'Copy provision device key success!',
    type: {
      disabled: 'Disabled',
      allowCreateNewDevices: 'Allow Create New Devices',
      checkPreProvisionedDevices: 'Check Pre-Provisioned Devices',
      x509CertificateChain: 'X509 Certificate Chain',
    },
  },
  transport: {
    basicSupport: 'Supports basic MQTT, HTTP and CoAP transport.',
    type: 'Transport Type',
    typePlaceholder: 'Select transport type',
  },
  mqtt: {
    enableAdvanced: 'Enable advanced MQTT transport settings.',
    sparkplugNode: 'MQTT Sparkplug B Edge Node (EoN)',
    sparkplugNodeDesc: 'Allow connections from edge nodes with Sparkplug B payload and topic format.',
    sparkplugAttrMetricNames: 'Store SparkPlug metrics as attributes.',
    sparkplugAttrMetricNamesDesc: 'Names of SparkPlug metrics to store as attributes. Others stored as telemetry.',
    topicFilters: 'MQTT Device Topic Filters',
    telemetryTopic: 'Telemetry Topic',
    attributesTopic: 'Attributes Topic',
    attributesSubscribeTopic: 'Subscribe Attributes Topic',
    topicWildcardHelp1: 'Supports single [+] and multi-level [#] wildcards.',
    topicWildcardHelp2: '[+] matches any topic level. E.g. v1/devices/+/telemetry or +/devices/+/attributes.',
    topicWildcardHelp3: '[#] may replace the filter itself and must be last symbol. E.g. # or v1/devices/me/#.',
    payload: 'MQTT Device Payload',
    enableCompatibility: 'Enable compatibility with other payload formats',
    enableCompatibilityDesc:
      'If enabled, Protobuf is used by default; on failure JSON is tried. Slight performance overhead.',
    useJsonDownlink: 'Use JSON for default downlink topics',
    useJsonDownlinkDesc: 'If enabled JSON is used for default downlink attribute and RPC topics.',
    telemetryProto: 'Telemetry proto schema',
    attributesProto: 'Attributes proto schema',
    rpcRequestProto: 'RPC request proto schema',
    rpcResponseProto: 'RPC response proto schema',
    sendAckOnValidation: 'Send PUBACK on validation exception',
    sendAckOnValidationDesc: 'By default session is closed; if enabled PUBACK is sent instead.',
  },
  coap: {
    enableAdvanced: 'Enable advanced COAP transport settings.',
    deviceType: 'CoAP Device Type',
    payload: 'COAP Device Payload',
    enableCompatibility: 'Enable compatibility with other payload formats',
    enableCompatibilityDesc:
      'If enabled, Protobuf used by default; on failure JSON is tried. Slight performance overhead.',
    useJsonDownlink: 'Use JSON for default downlink topics',
    useJsonDownlinkDesc: 'If enabled, JSON used for default downlink attribute and RPC topics.',
    telemetryProto: 'Telemetry proto schema',
    attributesProto: 'Attributes proto schema',
    rpcRequestProto: 'RPC request proto schema',
    rpcResponseProto: 'RPC response proto schema',
    powerMode: 'Power Mode',
    powerModePSM: 'Power Saving Mode (PSM)',
    powerModeDRX: 'Discontinuous Reception (DRX)',
    powerModeEDRX: 'Extended DRX (eDRX)',
    psmActivityTimer: 'PSM Activity Timer',
    timeUnit: 'Time Unit',
    ms: 'Milliseconds',
    second: 'Second',
    minute: 'Minute',
    hour: 'Hour',
    edrxCycle: 'eDRX Cycle',
    pagingTransmissionWindow: 'Paging Transmission Window',
  },
  alarm: {
    delete: 'Delete',
    alarmType: 'Alarm Type:',
    alarmTypePlaceholder: 'Enter alarm type',
    propagateAlarm: 'Propagate Alarm',
    relationTypesLabel: 'Relation types to propagate:',
    relationTypesPlaceholder: 'Relation types to propagate',
    relationTypesHelp: 'If empty, alarm is propagated without relation type filter.',
    propagateToOwner: 'Propagate to entity owner (customer or tenant)',
    propagateToTenant: 'Propagate to tenant',
    createAlarmRules: 'Create Alarm Rules:',
    addCreateRule: 'Add Create Condition',
    needCreateRule: 'Please add create alarm rule',
    alarmLevel: 'Alarm Level',
    condition: 'Condition:',
    schedule: 'Enable Rule:',
    detailsTemplate: 'Details Template:',
    mobileDashboard: 'Mobile Dashboard:',
    clearAlarmRules: 'Clear Alarm Rules:',
    addClearRule: 'Add Create Condition',
    addAlarmRule: 'Add Alarm Rule',
    clearAlarmConditionEmpty: 'Clear alarm condition must not be empty',
    createAlarmRulesEmpty: 'Create alarm rules must not be empty',
    createAlarmRuleEmpty: 'Create alarm rule must not be empty',
  },
  alarmCondition: {
    addFilter: 'Add Key Filter',
    editFilter: 'Edit Key Filter',
    newFilter: 'Add Key Filter',
    deleteFilter: 'Delete Key Filter',
    keyNameEmpty: 'Key name required',
    keyTypeEmpty: 'Key type required',
    valueTypeEmpty: 'Value type required',
    predicateEmpty: 'Predicate required',
    predicateSelectError: 'Predicate select error',
    filter: 'Filter',
    conditionModalTitle: 'Alarm Condition',
    keyFilter: 'Key Filter',
    filterPreview: 'Filter Preview',
    conditionType: 'Condition Type',
    simple: 'Simple',
    duration: 'Duration',
    repeating: 'Repeating',
    inputDuration: 'Enter duration',
    inputRepeat: 'Enter repeat count',
    times: 'times',
    and: 'AND',
    seconds: 'Seconds',
    minutes: 'Minutes',
    hours: 'Hours',
    days: 'Days',
    durationWithin: 'Within {value}{unit}',
    repeat: 'Repeat {value} times',
    keyName: 'Key Name',
    keyType: 'Key Type',
    dataType: 'Data Type',
    keyTypePlaceholder: 'Select key type',
    keyNamePlaceholder: 'Enter key name',
    valueType: 'Value Type',
    valueTypePlaceholder: 'Select value type',
    addPredicate: 'Add',
    operation: 'Operation',
    ignoreCase: 'Ignore Case',
    value: 'Value',
    selectBoolean: 'Select True/False',
    boolean: 'Boolean',
    time: 'Time',
    addConditionTip: 'Please add alarm rule condition',
  },
  alarmDetail: {
    title: 'Detail',
    add: 'Add Detail',
    tip: 'Tip: Use ${\u200BkeyName} to reference attribute value or message key.',
  },
  alarmSchedule: {
    title: 'Alarm Schedule',
    anyTime: 'Any Time',
    specificTime: 'Specific Time',
    custom: 'Custom',
    day: 'Day',
    time: 'Time',
    from: 'From',
    to: 'To',
    weekMon: 'Monday',
    weekTue: 'Tuesday',
    weekWed: 'Wednesday',
    weekThu: 'Thursday',
    weekFri: 'Friday',
    weekSat: 'Saturday',
    weekSun: 'Sunday',
    atLeastOneDay: 'Select at least one day.',
    startTimeEmpty: 'Start time required.',
    endTimeEmpty: 'End time required.',
    dayStartTimeEmpty: '{day} start time required.',
    dayEndTimeEmpty: '{day} end time required.',
    formNotInit: 'Form not initialized',
  },
  common: {
    prev: 'Previous',
    next: 'Next',
    confirm: 'Confirm',
    cancel: 'Cancel',
    delete: 'Delete',
    ok: 'OK',
    copy: 'Copy',
    generate: 'Generate',
    default: 'Default',
  },
  queue: {
    submitStrategyLabel: 'Submit Strategy:',
    processingStrategyLabel: 'Processing Strategy:',
  },
};
